home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
m2
/
cat3src
/
magic
/
d
/
mttextfi.d
< prev
next >
Wrap
Text File
|
1997-10-26
|
5KB
|
121 lines
(*----------------------------------------------------------------------*
* *
* MAGICTOOLS Modula's All purpose GEM Interface Cadre Toolbox *
* ÿ ÿ ÿ ÿ ÿ *
*----------------------------------------------------------------------*
* Version 3.30 02.02.1992 (C)90/91/92 by Peter Hellinger Software *
*----------------------------------------------------------------------*
* Dieses Modul ist urheberrechtlich geschtzt. *
* *
* Die Verffentlichung des Quelltextes oder Teilen daraus, sowie die *
* Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
* oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail- *
* boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen *
* Einverstndnisserklrung des Autors. *
* *
* Die Verbreitung des Moduls als Teil eines gelinkten Programms ist *
* fr Lizenznehmer ausdrcklich erlaubt! Der Autor behlt sich das *
* Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
* widerrufen. *
*----------------------------------------------------------------------*)
(*----------------------------------------------------------------------*
* mtTextfiles Dateihandling von Textdateien *
*----------------------------------------------------------------------*)
DEFINITION MODULE mtTextfiles;
FROM MagicSys IMPORT Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
TYPE TEXTFILE;
TYPE Textmode = (READ, WRITE, APPEND);
PROCEDURE OpenTextfile (REF name: ARRAY OF CHAR; mode: Textmode;
puffer: sCARDINAL; VAR text: TEXTFILE): BOOLEAN;
(* ffnet eine Textdatei. puffer gibt die Gre des zu benutzenden Puffer-
* speichers an.
*)
PROCEDURE CloseTextfile (VAR text: TEXTFILE);
(* Schliesst eine Textdatei *)
PROCEDURE FlushBuffer (text: TEXTFILE);
(* Schreibt den Textpuffer auf Diskette *)
PROCEDURE Reset (text: TEXTFILE);
(* Setzt den Dateizeiger an den Dateianfang *)
PROCEDURE Textpos (text: TEXTFILE): lCARDINAL;
(* Ermittelt die Position des Dateizeigers in Bytes vom Anfang der Datei *)
PROCEDURE SetTextpos (text: TEXTFILE; pos: lCARDINAL);
(* Setzt die Position des Dateizeigers in Bytes vom Anfang der Datei *)
PROCEDURE EndofText (text: TEXTFILE): BOOLEAN;
(* TRUE, wenn bei einem zum Lesen geffneten Text das Dateiende ereicht
* worden ist.
*)
PROCEDURE WriteChar (text: TEXTFILE; c: CHAR);
(* Schreibt Zeichen *)
PROCEDURE WriteLine (text: TEXTFILE; REF s: ARRAY OF CHAR);
(* schnelle Stringausgabe, kein LF *)
PROCEDURE WriteConst (text: TEXTFILE; REF s: ARRAY OF CHAR);
(* Stringausgabe fr konstante Strings *)
PROCEDURE WriteLn (text: TEXTFILE);
(* CR + LF *)
PROCEDURE WriteCard (text: TEXTFILE; wert: sCARDINAL; len: sCARDINAL);
PROCEDURE WriteInt (text: TEXTFILE; wert: sINTEGER; len: sCARDINAL);
PROCEDURE WriteLongCard (text: TEXTFILE; wert: lCARDINAL; len: sCARDINAL);
PROCEDURE WriteLongInt (text: TEXTFILE; wert: lINTEGER; len: sCARDINAL);
PROCEDURE WriteReal (text: TEXTFILE; wert: REAL; len: sCARDINAL);
PROCEDURE WriteLongReal (text: TEXTFILE; wert: LONGREAL; len: sCARDINAL);
(* Schreibt die entspechenden Werte mit Lnge len *)
PROCEDURE ReadSpec (text: TEXTFILE; REF check: ARRAY OF CHAR;
VAR str: ARRAY OF CHAR);
(* Liest solange Zeichen bis das gelesene Zeichen nicht in check ist.
* Fhrende Zeichen die nicht in check sind werden bersprungen.
*)
PROCEDURE ReadChar (text: TEXTFILE; VAR c: CHAR);
(* Liest Zeichen *)
PROCEDURE ReadLine (text: TEXTFILE; VAR s: ARRAY OF CHAR);
(* Liest Zeichen ein bis ein CR oder LF auftritt. Achtung! Der
* Dateizeiger steht auf dem Zeichen, das den Abbruch ausgelst hat.
*)
PROCEDURE ReadLn (text: TEXTFILE);
(* Liest Zeichen, bis ein CR, LF oder CR/LF auftritt.
* Achtung! Der Dateizeiger steht auf dem Zeichen nach dem LF!
*)
PROCEDURE ReadCard (text: TEXTFILE; VAR wert: sCARDINAL);
PROCEDURE ReadInt (text: TEXTFILE; VAR wert: sINTEGER);
PROCEDURE ReadLongCard (text: TEXTFILE; VAR wert: lCARDINAL);
PROCEDURE ReadLongInt (text: TEXTFILE; VAR wert: lINTEGER);
PROCEDURE ReadReal (text: TEXTFILE; VAR wert: REAL);
PROCEDURE ReadLongReal (text: TEXTFILE; VAR wert: LONGREAL);
(* Liest die entspechenden Werte ein. Fhrende Blanks werden
* berlesen, ein Blank oder ein Zeichen kleiner als Blank
* bricht die Eingabe ab.
*)
END mtTextfiles.